var App = function () {

  var config = {//Basic Config
    nanoScroller: true
  }; 
  
  
  /*DASHBOARD*/
  var dashboard = function(){
    var skycons = new Skycons({"color": "#FFFFFF"});
    skycons.add($("#sun-icon")[0], Skycons.PARTLY_CLOUDY_DAY);
    skycons.play();

  };
  /*END OF DASHBOARD*/
    
  return {
   
    init: function (options) {
      //Extends basic config with options
      $.extend( config, options );
      
      /*VERTICAL MENU*/
      $(".cl-vnavigation li .sub-menu").each(function(){
        $(this).parent().addClass("parent");
      });

      $("#cl-vnavigation a").css("cursor","pointer");

      $(".often").next("ul").find("a").each(function () {
            // resetId = $(this).children(".m").attr("id");
            // $(this).children(".m").attr("id",resetId+"oft");
            $(this).addClass("oft");
      })

        //三级菜单调整1
      $(".cl-vnavigation li ul li .sub-menu-3").each(function(){
        $(this).parent().addClass("sub-parent");
      });

      //点击添加active
      $("#cl-vnavigation").find("a").each(function(i){
        $(this).click(function () {
          $("#cl-vnavigation").find(".active").removeClass('active');
          $(this).addClass("active");
        })
      });


        


      // $(".cl-vnavigation li ul li ul li.active").each(function(){
      //   $(this).parent().show().parent().addClass("open");
      // });

        
           $('.inactive').click(function(){
            if($(this).siblings('ul').css('display')=='none'){
             $(this).parent('li').siblings('li').children("a").removeClass('inactives');
             $(this).addClass('inactives');
             $(this).siblings('ul').slideDown(100).children('li');
             $(this).parents('li').siblings('li').children('ul').parent('li').children('a').removeClass('inactives');
              $(this).parents('li').siblings('li').children('ul').slideUp(100);
             if($(this).parents('li').siblings('li').children('ul').css('display')=='block'){
              $(this).parents('li').siblings('li').children('ul').parent('li').children('a').removeClass('inactives');
              $(this).parents('li').siblings('li').children('ul').slideUp(100);    }
            }else{
             //控制自身变成+号
             $(this).removeClass('inactives');
             //控制自身菜单下子菜单隐藏
             $(this).siblings('ul').slideUp(100);
             //控制自身子菜单变成+号
             $(this).siblings('ul').children('li').children('ul').parent('li').children('a').addClass('inactives');
             //控制自身菜单下子菜单隐藏
             $(this).siblings('ul').children('li').children('ul').slideUp(100);    //控制同级菜单只保持一个是展开的（-号显示）
             $(this).siblings('ul').children('li').children('a').removeClass('inactives');
            }
           })
          
       //三级菜单调整1 end
       
      
      

      // $(".cl-vnavigation li ul li.active").each(function(){
      //   $(this).parent().show().parent().addClass("open");
      // });
      
      //$(".cl-vnavigation").delegate(".parent > a","click",function(e){
      
        // $(".cl-vnavigation .parent.open > ul").not($(this).parent().find("ul")).slideUp(300, 'swing',function(){
        //    $(this).parent().removeClass("open");
        // });
        
        // var subMenu2 = $(this).parent().find(".sub-menu");
        // subMenu2.slideToggle(400, 'swing', function () {
          //var p = $(this).parent();
          
          // if(p.hasClass("open")){
          //   p.removeClass("open");
          // }else{
          //   p.addClass("open");
          // }

          
      //     var subMenu3 = $(this).parent().find(".sub-menu-3");
      //     subMenu3.each(function (i) {
      //                 $(this).parent().click(function(){
      //                 $(this).find(".sub-menu-3").slideToggle(400, 'swing');
      //                 });
      //     });
          
          

      //    $("#cl-wrapper .nscroller").nanoScroller({ preventPageScrolling: true });
         
      //   });
        
      //   e.preventDefault();
      // });
      
      /*Small devices toggle*/
      $(".cl-toggle").click(function(e){
        var ul = $(".cl-vnavigation");
          ul.slideToggle(300, 'swing', function () {
        });
          
        e.preventDefault();
      });
      
      
      // edit avatar
      $(".side-user").mouseover(function(){
          $(".side-user").find("a").css("display","block");
        });
      $(".side-user").mouseout(function(){
          $(".side-user").find("a").css("display","none");
        });

      //search
      $("#search").bind('input propertychange',function(){
                  $(".often").next("ul").find("a").each(function () {  //删除已有oft
                            sId = $(this).children(".m").attr("id");
                            str="oft";
                            if (sId.indexOf(str) != -1) {
                              //console.log(str.substring(0,str.length-1));
                            $(this).children(".m").attr("id",sId.substring(0,sId.length-3));
                            }
                      })
              $(".search-result li").remove(); 
             initSearch();

      });

      function initSearch() {
               searchContent = $("#search").val().trim().toLowerCase();
               if (!searchContent) {
                          menuTitle="";
                          $("#search-result li ").remove();
                          return;
                }

              //alert(searchContent);
              $("#cl-vnavigation").find("a").each(function(){
                                    menuTitle=$(this).children(".m").text().trim().toLowerCase();
                                    menuId=$(this).children(".m").attr("id");
                                    //console.log(menuId);
                                                if (menuTitle.indexOf(searchContent) != -1) {
                                                      $(".search-result").append(" <li ><a id="+menuId+"><p>"+menuTitle+"("+menuId+")"+"</p></a></li>");
                                                  } 
                });
                //end each
                if (!$('#search-result li').text().trim().toLowerCase()) {
                        $("#search-result").append(" <li ><a ><p>没有您查找的菜单...</p></a></li>");
                        return;
                }

                //if same result
                menuArray = $("#search-result li").map(function () {
                        a = $(this).children("a").attr("id");
                         b = $(this).children("a").children("p").text();
                         return [a,b];
                }).get();
                var repeatArr = new Array();//重复项
                var s = menuArray.join(",") +",";
                for(var o = 0; o < menuArray.length; o++)
                {
                   if(s.replace(menuArray[o] + ",", "").indexOf(menuArray[o] +",") > -1)
                    {
                       repeatArr.push(menuArray[o]);
                    }
                }
                $.unique(repeatArr);
               // console.log(repeatArr);
                $.unique(menuArray);
                //console.log(menuArray);
                var arr = new Array(); //转化成二维
                for (var i = 0; i < menuArray.length; i = i+2) {
                  arr.push([menuArray[i],menuArray[i+1]]);
                }
                
                //console.log(arr);
                $("#search-result li ").remove();
                for (var h = 0; h < arr.length; h++) {
                              if (repeatArr.length >0 && $.inArray(arr[h][1], repeatArr)) {
                                //console.log("重复");
                                $(".search-result").append(" <li ><a id=\""+arr[h][1]+"oft\"><p>"+arr[h][0]+"</p></a></li>");  //重复菜单id+oft
                              }else{
                                $(".search-result").append(" <li ><a id="+arr[h][1]+"><p>"+arr[h][0]+"</p></a></li>");
                              }
                }
                
                
                  //搜索结果框 ，是否滚动条
                 h=document.body.clientHeight-200;
                       if ($("#search-result").height() > h) {
                       $("#search-result").css("height",h);
                 } 
                 //搜索结果框 ，是否滚动条end
                
                menuConnect();//绑定click事件

 }
      //end initSearch

      //connect begin
      function menuConnect() {
                $(".often").next("ul").find("a").each(function () { //常用菜单id+oft
                        sId = $(this).children(".m").attr("id");
                        $(this).children(".m").attr("id",sId+"oft");
                  })
                  $("#search-result").find("a").each(function () {
                            $(this).click(function () {
                                    $("#search").val("");
                                    $("#search-result li ").remove();
                                    t=$(this).attr("id");
                                    $("#cl-vnavigation").find("a").each(function () {
                                              m=$(this).children(".m").attr("id");
                                              if (t == m) {
                                                  $("#cl-vnavigation").find(".active").removeClass('active');
                                                  $(this).addClass("active");
                                                  pLink=$(this).attr("href");
                                                  $("#page-content").attr("src",pLink);
                                                        //if ($(this).parent('li').parent('ul').prev().hasClass('open')) {}
                                                            //一级菜单
                                                              if ($(this).parent("li").hasClass("parent")) {
                                                                $(this).parent("li").siblings("li").children("ul").slideUp(100);
                                                                $(this).parent("li").siblings("li").children("a").removeClass("inactives");
                                                                $(this).next("ul"). slideDown(100);
                                                                $(this).addClass('inactives');
                                                              }
                                                              //二级菜单
                                                            if ($(this).parent('li').parent('ul').hasClass('sub-menu')) {
                                                              $(this).parent('li').parent('ul'). prev('a').addClass('inactives');
                                                              $(this).parent('li').parent('ul'). parent('li').siblings('li').children('ul').slideUp(100);
                                                              $(this).parent('li').parent('ul'). parent('li').siblings('li').children('a').removeClass("inactives");
                                                              $(this).parent('li').parent('ul'). slideDown(100);
                                                              $(this).parent("li").siblings("li").children("ul").slideUp(100);
                                                              $(this).parent("li").siblings("li").children("a").removeClass("inactives");
                                                              $(this).filter(".inactive").addClass('inactives');
                                                              $(this).filter(".inactive").next("ul").slideDown(100);

                                                              //三级菜单
                                                          }else{if ($(this).parent('li').parent('ul').hasClass('sub-menu-3')) {
                                                                $("#cl-vnavigation").find(".active").removeClass('inactives');
                                                                $(this).parent('li').parent('ul').parent('.sub-parent').parent('.sub-menu'). prev('a').addClass('inactives');
                                                                $(this).parent('li').parent('ul').parent('.sub-parent').parent('.sub-menu').parent('.parent').siblings('li').children('ul').slideUp(100);
                                                                $(this).parent('li').parent('ul').parent('.sub-parent').parent('.sub-menu').parent('.parent').siblings('li').children('a').removeClass("inactives");
                                                                $(this).parent('li').parent('ul').parent('.sub-parent').parent('.sub-menu').slideDown(100);
                                                                $(this).parent('li').parent('ul'). prev('a').addClass('inactives');
                                                                $(this).parent('li').parent('ul'). parent("li").siblings("li").children("ul").slideUp(100);
                                                                $(this).parent('li').parent('ul'). parent("li").siblings("li").children("a").removeClass("inactives");
                                                                $(this).parent('li').parent('ul'). slideDown(100);
                                                          }}
                                              }//end if
                                    })//end each
                                          //detectActive();
                              })//end click
                    })//end each
        }
        //connect end

       //判断active
        function detectActive() {
                  $("#cl-vnavigation").find(".active").each(function () {
                          //二级菜单
                          if ($(this).parent('li').parent('ul').hasClass('sub-menu')) {
                              $(this).parent('li').parent('ul'). prev('a').addClass('inactives');
                              $(this).parent('li').parent('ul'). parent('li').siblings('li').children('ul').slideUp(100);
                              $(this).parent('li').parent('ul'). slideDown(100);
                              
                          }else{if ($(this).parent('li').parent('ul').hasClass('sub-menu-3')) {
                                $("#cl-vnavigation").find(".active").removeClass('inactives');
                                $(this).parent('li').parent('ul').parent('.sub-parent').parent('.sub-menu'). prev('a').addClass('inactives');
                                $(this).parent('li').parent('ul').parent('.sub-parent').parent('.sub-menu').parent('.parent').siblings('li').children('ul').slideUp(100);
                                $(this).parent('li').parent('ul').parent('.sub-parent').parent('.sub-menu').slideDown(100);
                                $(this).parent('li').parent('ul'). prev('a').addClass('inactives');
                                $(this).parent('li').parent('ul'). slideDown(100);
                          }}
                  })//end each

                  
        }

        //判断active end


        //调整菜单栏不同显示的scroll高度,以及浏览器高度变化
        h=document.body.clientHeight-200;
        $("#cl-vnavigation").css("height",h);
        window.onresize=function(){
          h=document.body.clientHeight-200;
        $("#cl-vnavigation").css("height",h);
         if ($("#search-result").height() > h) {
                            $("#search-result").css("height",h);
                          } 
        }



        //browser detect
                    if(navigator.appVersion.indexOf("MSIE 6.")!=-1||navigator.appVersion.indexOf("MSIE 7.")!=-1||navigator.appVersion.indexOf("MSIE 8.")!=-1){
                      var outdated = document.getElementById("outdated");
                      outdated.style.display = "block";
                      var btnClose = document.getElementById("btnCloseUpdateBrowser");
                     //close button
                             btnClose.onmousedown = function() {
                                    outdated.style.display = 'none';
                                     return false;
                              };
                        };
                         
                        //browser detect end



      
    
      
      /*Return to top*/
      var offset = 220;
      var duration = 500;
      var button = $('<a href="#" class="back-to-top"><i class="fa fa-angle-up"></i></a>');
      button.appendTo("body");
      
      jQuery(window).scroll(function() {
        if (jQuery(this).scrollTop() > offset) {
            jQuery('.back-to-top').fadeIn(duration);
        } else {
            jQuery('.back-to-top').fadeOut(duration);
        }
      });
    
      jQuery('.back-to-top').click(function(event) {
          event.preventDefault();
          jQuery('html, body').animate({scrollTop: 0}, duration);
          return false;
      });
      
     
      
  
      
      /*Bind plugins on hidden elements*/
      if(config.hiddenElements){
      	/*Dropdown shown event*/
        $('.dropdown').on('shown.bs.dropdown', function () { //在 Dropdown 显示之后触发。
          $(".nscroller").nanoScroller();
        });

        /*Tabs refresh hidden elements*/
        $('.nav-tabs').on('shown.bs.tab', function (e) {
          $(".nscroller").nanoScroller();
        });
      }
      
    }
      
   
    
  };
 
}();

$(function(){
  $("body").css({opacity:1,'margin-left':0});
});

